#ifndef SERVER_H_INCLUDED
#define SERVER_H_INCLUDED

#include "_report_.h"
#include "structs.h"

class _stock_
{
    public:
        _stock_();
        ~_stock_();
        bool addNext(int day, int mon, int year, float count, float trade_price, float price_sale);//добавление партии товара
        void print();//вывод базы на экран
        void printHistory();//вывод истории продаж
        void saveHistory();//сохранение истории
        void loadHistory();//загрузка истории
        bool save();//сохранение в Файл
        bool loadBase();//загрузить базу
        int search(int date_d,int date_m, int date_y, float count);//поиск нужной записи

    private:
        int countEntriesFile();//определение колличество записей
        void deserialization(int &day, int &mon, int &year, float &count, float &t_p, float &p_s,char* line);//десериализация
        bool MoveNext();
        bool MovePrev();
        bool RemoveCurrent();
        bool RemoveNext();
        bool RemovePrev();
        void addFirst(int day, int mon, int year, float count, float trade_price, float price_sale);//добавление первого элемента
        void save_of_one(int day, int mon, int year, float count, float t_p, float p_s, int key);//Функция сохранения одной партиии

        int Count;//общее колличество товара;
        stock* First;//первая Партия
        stock* End;//последняя Партия
        stock* Curr;//текущая Партия

        HistoryList *list;//история продаж
};


#endif // SERVER_H_INCLUDED
